.ct0-spin-spinning {
  position      : absolute;
  text-align    : center;
  vertical-align: middle;
  display       : inline-block;
  opacity       : 1;
  transition    : transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}

.ct0-spin-nested {
  position: relative;
  width   : 100%;
  height  : 100%;
}

.ct0-spin-spinning {
  position: absolute;
  top     : 0;
  left    : 0;
  z-index : 4;
  display : block;
  width   : 100%;
  height  : 100%;
}

.ct0-spin-dot {
  position : absolute;
  top      : 50%;
  left     : 50%;
  margin   : 0;
  transform: rotate(45deg);
  animation: ct0Rotate 1.2s infinite linear;
}

.ct0-spin-container {
  width     : 100%;
  height    : 100%;
  position  : relative;
  transition: opacity 0.3s;
}

.ct0-spin-container-spinning {
  opacity: 0.4;
}

.ct0-spin-container::after {
  position      : absolute;
  top           : 0;
  right         : 0;
  bottom        : 0;
  left          : 0;
  z-index       : 10;
  width         : 100%;
  height        : 100%;
  background    : #fff;
  transition    : all 0.3s;
  opacity       : 0;
  content       : '';
  pointer-events: none;
}

.ct0-spin-dot>i {
  position        : absolute;
  display         : block;
  width           : 9px;
  height          : 9px;
  background-color: #037AFF;
  border-radius   : 100%;
  transform       : scale(0.75);
  transform-origin: 50% 50%;
  opacity         : 0.3;
  animation       : ct0SpinMove 1s infinite linear alternate;
}

.ct0-spin-dot>i:nth-child(1) {
  top : 0;
  left: 0;
}

.ct0-spin-dot>i:nth-child(2) {
  top            : 0;
  right          : 0;
  animation-delay: 0.4s;
}

.ct0-spin-dot>i:nth-child(3) {
  right          : 0;
  bottom         : 0;
  animation-delay: 0.8s;
}

.ct0-spin-dot>i:nth-child(4) {
  bottom         : 0;
  left           : 0;
  animation-delay: 1.2s;
}

@keyframes ct0SpinMove {
  to {
    opacity: 1;
  }
}

@keyframes ct0Rotate {
  to {
    transform: rotate(405deg);
  }
}